package com.zxy.pojo.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.util.Date;
import java.util.List;

/**
 * 角色实体类
 */
@Data
@TableName("sys_role")
public class SysRole {
    /**
     * 角色ID（主键）
     */
    @TableId(type = IdType.AUTO) // 显式指定自增主键
    private Long roleId;

    /**
     * 角色名称
     */
    private String roleName;

    /**
     * 角色标识（用于权限控制，唯一索引）
     */
    private String roleCode;

    /**
     * 角色关键字（接口返回的roleKey）
     */
    private String roleKey;

    /**
     * 角色排序
     */
    private String roleSort;

    /**
     * 数据范围
     */
    private String dataScope;

    /**
     * 菜单树选择项是否关联显示
     */
    private Boolean menuCheckStrictly;

    /**
     * 部门树选择项是否关联显示
     */
    private Boolean deptCheckStrictly;

    /**
     * 角色描述
     */
    private String roleDesc;

    /**
     * 状态（0=正常，1=禁用）
     */
    private String status;

    /**
     * 删除标志（0=未删除，1=已删除）
     */
    private String delFlag;

    /**
     * 标记
     */
    private Boolean flag;

    /**
     * 是否为管理员（1=是，0=否）
     */
    private Boolean admin;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 角色关联的菜单ID列表（非数据库字段，仅用于接口返回）
     */
    @TableField(exist = false)
    private String menuIds;

    /**
     * 角色关联的部门ID列表（非数据库字段，仅用于接口返回）
     */
    @TableField(exist = false)
    private String deptIds;

    @TableField(exist = false)
    private List<SysPost> postIds;
}